package com.kaili.basic.mapper;

import com.baomidou.mybatisplus.mapper.BaseMapper;
import com.kaili.basic.pojo.dto.MdmDeviceSignLocationDto;
import com.kaili.basic.pojo.entity.MdmDeviceSignEntity;
import com.kaili.basic.pojo.vo.MdmDeviceSignDetailVO;
import com.kaili.basic.pojo.vo.MdmDeviceSignLocationVo;
import com.kaili.basic.pojo.vo.MdmDeviceSignTrackVo;
import com.kaili.basic.pojo.vo.MdmDeviceSignVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
*  设备签到mapper
* @author:zhouyijian
* @Time: 2019-07-24
* @Copyright: ©  杭州凯立通信有限公司 版权所有
* @Warning: 本内容仅限于公司内部传阅,禁止外泄或用于其它商业目的
*/
@Mapper
public interface DeviceSignMapper extends BaseMapper<MdmDeviceSignEntity> {


    /**
     * @Desc:查询签到详情
     * @author:zhouyijian
     * @time: 2019/7/25 20:41
     * @param entity
     * @return: List<MdmDeviceSignVO>
     */
    List<MdmDeviceSignDetailVO> querySignDetail(MdmDeviceSignEntity entity);

    /**
     * @Desc:查询签到汇总信息
     * @author:zhouyijian
     * @time: 2019/7/26 16:12
     * @param entity
     * @return: List<MdmDeviceSignVO>
     */
    List<MdmDeviceSignVO> querySignTotal(MdmDeviceSignEntity entity);

    /**
     * @Desc:查询签到信息
     * @author:zhouyijian
     * @time: 2019/8/8 14:31
     * @return: java.util.List<com.kaili.basic.pojo.vo.MdmDeviceSignVO>
     */
    List<MdmDeviceSignVO> querySignRecord();


    /**
    * @Desc:  获取设备最新位置信息
    * @author: shenliqiang
    * @Time: 2019/7/26 18:38
    * @param dto
    * @return com.kaili.basic.pojo.dto.DeviceSignLocationDTO
    */

    List<MdmDeviceSignLocationVo> queryDeviceLocation(MdmDeviceSignLocationDto dto);

    /**
    * @Desc:  获取设备轨迹
    * @author: shenliqiang
    * @Time: 2019/7/29 10:26
    * @param dto
    * @return java.util.HashMap<java.lang.String,java.lang.String>
    */

    List<MdmDeviceSignTrackVo> queryDeviceTrack(MdmDeviceSignLocationDto dto);

    /**
     * @Desc:在线设备数
     * @author:zhouyijian
     * @time: 2019/8/1 10:31
     * @return: int
     */
    int getDeviceOnlineTotal();

    /**
     * @Desc:签到详情
     * @author:zhouyijian
     * @time: 2019/8/6 14:04
     * @param entity
     * @return: com.kaili.basic.pojo.vo.MdmDeviceSignDetailVO
     */
    List<MdmDeviceSignDetailVO>  getSignDetail(MdmDeviceSignEntity entity);

}
